Sync upstream v11.3.0 (merge conflicts) - #230
Conversation
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…cout#14654) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…4761) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#14764) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Victor Baranov <baranov.viktor.27@gmail.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important Review skippedToo many files! This PR contains 127 files, which is 27 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (127)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_fa223f10-b69a-45f2-b50b-36fd2dd1dc67) |
There was a problem hiding this comment.
Code Review
This pull request implements a major refactoring of the address and token counter systems, introducing incremental consolidation to replace legacy cache modules. Key additions include new cache management modules (AddressCounters, TokenCounters, AddressCountersConsolidator, TokenCountersConsolidator, and Propagator) and several background migrations for backfilling data and reindexing blocks. The PR also includes performance optimizations for transaction preloading and improvements to JSON-RPC batching logic. The review identified two compilation errors: a missing assoc/2 import in apps/explorer/lib/explorer/etherscan/logs.ex and a missing alias for Explorer.QueryHelper in apps/explorer/lib/explorer/chain/import/runner/address/current_token_balances.ex.
| import Ecto.Query, | ||
| only: [dynamic: 2, from: 2, join: 5, limit: 2, where: 2, where: 3, subquery: 1, order_by: 3, union_all: 2] |
There was a problem hiding this comment.
The assoc/2 macro is used in where_consensus/1 (line 142) but is not imported in the Ecto.Query only list at the top of the file. This will cause a compilation error (undefined function assoc/2). Please add assoc: 2 to the imported functions list.
import Ecto.Query,
only: [assoc: 2, dynamic: 2, from: 2, join: 5, limit: 2, where: 2, where: 3, subquery: 1, order_by: 3, union_all: 2]
|
|
||
| query = | ||
| from(ctb in CurrentTokenBalance, | ||
| where: ^QueryHelper.tuple_in([:address_hash, :token_contract_address_hash], ids), |
There was a problem hiding this comment.
The QueryHelper module is referenced here but does not appear to be aliased or imported in this module. To prevent compilation errors, please use the fully qualified name Explorer.QueryHelper.tuple_in or ensure Explorer.QueryHelper is aliased.
where: ^Explorer.QueryHelper.tuple_in([:address_hash, :token_contract_address_hash], ids),
9079859 to
183396e
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_fed3ad7c-d98f-4a3f-aab3-3d64bf305039) |
183396e to
36d424c
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_c4d133bc-71d3-4255-9dde-378de9cee6c6) |
36d424c to
d0817a9
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_62f6057b-29f3-4a35-a7b9-ca868252a3a7) |
d0817a9 to
4fd18e5
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_a42bc225-dc86-48d2-8fb5-78107a85d15c) |
4fd18e5 to
4f1535d
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_024e3339-258d-4962-9ab3-4392bc0821b7) |
4f1535d to
5b4feec
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b19f5b28-e3ca-4418-8a91-f656616ded21) |
5b4feec to
ca8562f
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_4d74dc8b-b30e-42c9-a18c-a127c517d687) |
ca8562f to
6017d02
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_e1edd484-2c02-4f74-aefc-6fc831b7fd52) |
Upstream Sync - v11.3.0
Auto-merge with upstream
v11.3.0failed. Version/workflow conflicts were auto-resolved,but the following files have code conflicts that need manual resolution:
To resolve:
v11.3.0to trigger Docker buildUpstream release notes
Note
High Risk
Wide-ranging changes to caching, DB/query patterns, stats API shape, and JSON-RPC batching affect core API/indexer behavior; deploys need new env vars and counter backfill migrators.
Overview
Release 11.3.0 brings a large performance and caching overhaul plus OP Stack and JSON-RPC fixes, documented in
CHANGELOG.mdwith many new tunables (DB prepare mode, address/token counter consolidation, cache propagation, migrations).Counters & API behavior: Address and token transaction/holder/gas counters move from periodic full recomputation to incremental consolidation (
AddressCounters/TokenCountersand consolidators, backfill migrators). Address counter endpoints read from cache instead of denormalized address columns. Total chain gas used is dropped from v2 stats, chain dashboard, and theGasUsageSumcache.Query/preload path:
Chain.preload_address_participants/4deduplicates loading of from/to/contract (and token-transfer) address metadata across list endpoints, main page, websockets, and v1 token transfers.join_associations/2is reworked so to-many associations are not join-limited (fixes short pages for uncle blocks and similar). Several flows useAddress.check_address_existsand hash-based coin balance queries to avoid heavy address loads.OP Stack & JSON-RPC: Post-exec txs (
0x7D) get parser defaults and UI/API types; L1 attributes (0x7E, index 0) are labeled on Optimism. HTTP transport splits JSON-RPC batches by mapped URL type (responses matched by id).eth_getBalanceaccepts hex block numbers.Other: Cache propagation runs via
Explorer.Chain.Cache.Propagator; token-transfer realtime broadcasts skip work when nothing is subscribed (v1/v2 split). CryptoCompare API key support. Scam-address ETS cache. Removes gas-usage dashboard tooltip CSS.Note: PR description still flags manual merge conflicts in
docker-compose/envs/common-blockscout.envandmix.lock—not visible in the excerpted diff.Reviewed by Cursor Bugbot for commit 6017d02. Configure here.